[][src]Crate elrond_wasm

Re-exports

pub use elrond_codec;
pub use hex_call_data::*;
pub use io::*;
pub use storage::storage_get;
pub use storage::storage_get;
pub use storage::storage_set;
pub use storage::storage_set;
pub use types::*;

Modules

abi
err_msg
hex_call_data
io
non_zero_util
storage
types

Macros

contract_proxy

Handy way of casting to a contract proxy trait. Would make more sense to be in elrond-wasm-derive, but Rust "cannot export macro_rules! macros from a proc-macro crate type currently".

derive_imports

Imports required for deriving serialization and TypeAbi.

imports

Getting all imports needed for a smart contract.

mut_storage

Compact way to represent the BorrowedMutStorage type.

non_zero_usize

Converts usize to NonZeroUsize or returns SCError.

only_owner

Very compact way of not allowing anyone but the owner to call a function.

require

Allows us to write Solidity style require!(<condition>, <error_msg>) and avoid if statements.

sc_error

Compact way of returning a static error message.

sc_try

Equivalent of the ? operator for SCResult.

Structs

Box

A pointer type for heap allocation.

OtherContractHandle
String

A UTF-8–encoded, growable string.

Vec

A contiguous growable array type, written Vec<T> but pronounced 'vector'.

Enums

Sign

Traits

BigIntApi

Definition of the BigInt type required by the API.

BigUintApi

Definition of the BigUint type required by the API. The API doesn't care about the actual BigInt implementation. The Arwen VM provides an implementation directly in the protocol. For debugging we use a different implementation, based on Rust's BigInt.

CallableContract

CallableContract is the means by which the debugger calls methods in the contract.

ContractHookApi

Interface to be used by the actual smart contract code.

ContractIOApi

Interface to only be used by code generated by the macros. The smart contract code doesn't have access to these methods directly.